;============================================================================ ; Diese Funktion wandelt einen String, soweit möglich, in eine 32-Bit-Binär- ; zahl (LONG) um. Der String darf außer den Ziffern 0-9, den Buchstaben aA-zZ, ; an führender Stelle auch ein Minuszeichen sowie an beliebiger Stelle einen ; Dezimalpunkt enthalten. Die Umwandlung erfolgt auf Wunsch vorzeichenbehaftet ; oder vorzeichenlos mit der angegebenen Zahlenbasis. ;---------------------------------------------------------------------------- ; Synopsis: value = StringToInt32 (Int32String, Flag, Base) ; D0 A0 D2 D3! ; ; Eingaben: A0 --> STRPTR auf den umzuwandelnden String(+0) ; D2 --> BOOL - TRUE , vorzeichenbehaftet umwandeln ; - FALSE, vorzeichenlos umwandeln ; D3 --> UWORD - 2-36: die Zahlenbasis, welche zur Umrechnung ; benutzt werden soll ; - null: Zahlenbasis abhängig vom Präfix des ; Strings: '0x' od. '0X' = Basis 16 ; '0' = Basis 8 ; sonst = Basis 10 ; ; Ergebnis: D0 --> LONG die durch den String repräsentierte 32-Bit-Zahl ; ; Bemerkung: Wenn Sie einen Dezimalpunkt im String angeben, dann wird nur ; der Vorkommawert (INTEGER) umgewandelt. ; ; ACHTUNG: Da das Ergebnis ja stets jeden beliebigen Wert annehmen kann, ; ¯¯¯¯¯¯¯¯ ist es nicht möglich, eine generelle Fehlermeldung Über das ; Rückgabe-Register auszugeben. Wenn Sie also nicht garantieren ; können, daß es sich um einen auswertbaren Zahlenstring ; handelte, dann sollten Sie im Anschluß an diese Funktion immer ; LastError() aufrufen, um festzustellen, ob das Ergebnis ; gültig ist, oder ob ein Fehler auftrat. (s.a. extradefs.i) ; Dabei gelten die gleichen Fehlercodes wie bei StringToLong(). ; ; Siehe auch: Int32ToString(), Int64ToString(), FFPToString(), ; SGLToString(), DBLToString(), ;============================================================================